package cn.bdqn.service.impl;

import cn.bdqn.dto.Dto;
import cn.bdqn.mapper.ItripUserLinkUserMapper;
import cn.bdqn.pojo.ItripUserLinkUser;
import cn.bdqn.util.Constant;
import cn.bdqn.service.GuestService;
import cn.bdqn.vo.ItripUserLinkUserVO;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;

@Service
public class GuestServiceImpl implements GuestService {

    @Resource
    private ItripUserLinkUserMapper itripUserLinkUserMapper;




    //更新旅客信息
    @Override
    public Dto updateGuestInfo(ItripUserLinkUserVO itripUserLinkUserVO,Long userId) {
        Dto dto=new Dto();
        ItripUserLinkUser itripUserLinkUser=new ItripUserLinkUser();
        itripUserLinkUser.setId(itripUserLinkUserVO.getId());
        itripUserLinkUser.setModifiedBy(userId);
        itripUserLinkUser.setLinkUserName(itripUserLinkUserVO.getLinkUserName());
        itripUserLinkUser.setLinkIdCardType(itripUserLinkUserVO.getLinkIdCardType());
        itripUserLinkUser.setLinkIdCard(itripUserLinkUserVO.getLinkIdCard());
        itripUserLinkUser.setModifyDate(new Date());
        itripUserLinkUser.setLinkPhone(itripUserLinkUserVO.getLinkPhone());
        if (itripUserLinkUserMapper.selectByPrimaryKey(itripUserLinkUser.getId())==null||
                itripUserLinkUserMapper.selectByPrimaryKey(itripUserLinkUser.getId()).equals("")){
            dto.setCode("10086");
            dto.setMsg("旅客信息不存在");
            dto.setSuccess("false");
            dto.setData(itripUserLinkUser);
            return dto;
        }
        if (itripUserLinkUser.getLinkPhone()!=null
                &&!itripUserLinkUser.getLinkPhone().isEmpty()){
            if(!Constant.isMobile(itripUserLinkUser.getLinkPhone())){
                dto.setCode("10086");
                dto.setMsg("手机号码不正确");
                dto.setSuccess("false");
                dto.setData(itripUserLinkUser);
                return dto;
            }

        }
        if (!Constant.isIDCard(itripUserLinkUser.getLinkIdCard())){
            dto.setCode("10086");
            dto.setMsg("证件号码不正确");
            dto.setData(itripUserLinkUser);
            dto.setSuccess("false");
            return dto;
        }

        if (itripUserLinkUserMapper.updateByPrimaryKeySelective(itripUserLinkUser)>0){
            dto.setCode("0");
            dto.setMsg("更新成功");
            dto.setSuccess("true");
        }else {
            dto.setCode("10086");
            dto.setMsg("更新失败");
            dto.setSuccess("false");
        }
        dto.setData(itripUserLinkUser);
        return dto;
    }

    @Override
    public Dto delectGuestInfo(Long id) {
        Dto dto=new Dto();
        ItripUserLinkUser itripUserLinkUser=itripUserLinkUserMapper.selectByPrimaryKey(id);
        dto.setData(itripUserLinkUser);
        if (itripUserLinkUser!=null){
            if (itripUserLinkUserMapper.deleteByPrimaryKey(id)>0){
                dto.setCode("0");
                dto.setMsg("删除成功");
                dto.setSuccess("true");
                return dto;
            }else {
                dto.setCode("10086");
                dto.setMsg("删除失败");
                dto.setSuccess("false");
                return dto;
            }
        }else {
            dto.setCode("10086");
            dto.setMsg("旅客信息不存在");
            dto.setSuccess("false");
            return dto;
        }
    }

}



